import numpy as np  
from scipy.optimize import minimize  

# 固定成本  
fixed_cost = 400000  

# 成本  
cost_19 = 195  
cost_21 = 225  

# 目标函数：最大化利润  
def profit(vars):  
    x1, x2 = vars  # x1 是19寸电视销售量，x2 是21寸电视销售量  
    # 计算售价  
    P1 = 339 * (1 - 0.01 * x1 - 0.0003 * x2)  
    P2 = 399 * (1 - 0.01 * x2 - 0.0004 * x1)  
    # 计算利润  
    profit1 = (P1 - cost_19) * x1  
    profit2 = (P2 - cost_21) * x2  
    return -1 * (profit1 + profit2 - fixed_cost)  # 取负以便最小化  

# 约束条件：销售数量大于或等于0  
constraints = ({'type': 'ineq', 'fun': lambda x: x[0]},  # x1 >= 0  
               {'type': 'ineq', 'fun': lambda x: x[1]},  # x2 >= 0  
              )  

# 初始估计  
initial_guess = [0, 0]  

# 优化过程  
result = minimize(profit, initial_guess, constraints=constraints)  

# 输出结果  
if result.success:  
    optimal_x1, optimal_x2 = result.x  
    print(f"19 英寸电视机应生产数量: {int(optimal_x1)}")  
    print(f"21 英寸电视机应生产数量: {int(optimal_x2)}")  
else:  
    print("未成功找到最优解")  

